package com.example.trigger.api;

import com.example.trigger.api.dto.RaffleAwardListRequestDTO;
import com.example.trigger.api.dto.RaffleAwardListResponseDTO;
import com.example.trigger.api.dto.RaffleRequestDTO;
import com.example.trigger.api.dto.RaffleResponseDTO;
import com.example.types.model.Response;

import java.util.List;

/**
 * @Author: jia-qiang ljq1024.cc
 * @desc: 抽奖服务接口
 * @Date: 2024-04-20-15:31
 */
public interface IRaffleService {

    /**
     * 策略装配接口
     * @param strategyId 策略ID
     * @return 装配结果
     */
    Response<Boolean> strategyArmory(Long strategyId);

    /**
     * 查询奖品列表
     * @param raffleAwardListRequestDTO 参数
     * @return 奖品列表
     */
    Response<List<RaffleAwardListResponseDTO>> queryRaffleAwardList(RaffleAwardListRequestDTO raffleAwardListRequestDTO);


    /**
     * 随机抽奖接口
     * @param raffleRequestDTO 参数
     * @return 奖品信息
     */
    Response<RaffleResponseDTO> randomRaffle(RaffleRequestDTO raffleRequestDTO);
}
